package com.itheima.service;

import com.itheima.pojo.entity.Emp;
import com.itheima.pojo.entity.LoginInfo;
import com.itheima.pojo.entity.PageResult;
import com.itheima.pojo.query.EmpQueryParam;

import java.util.List;

/**
 * @author zzw
 * @date 2025/4/24
 * @description 员工管理服务接口
 */

public interface EmpService {


    /**
     * 分页查询员工信息
     *
     * @param empQueryParam 查询参数
     * @return PageResult<Emp> 分页结果
     */
    PageResult<Emp> page(EmpQueryParam empQueryParam);

    /**
     * 获取员工列表
     *
     * @return List<Emp> 员工列表
     */
    List<Emp> list();

    /**
     * 删除员工
     *
     * @param ids 员工ID数组
     */
    void deleteByIds(List<Integer> ids);


    /**
     * 保存员工信息
     *
     * @param emp 员工信息
     */
    void save(Emp emp);

    /**
     * 根据ID获取员工信息
     *
     * @param id 员工ID
     * @return Emp 员工信息
     */
    Emp getById(Integer id);

    /**
     * 更新员工信息
     *
     * @param emp 员工信息
     */
    void update(Emp emp);

    /**
     * 员工登录
     *
     * @param emp 员工信息
     * @return LoginInfo 登录信息
     */
    LoginInfo login(Emp emp);
}
